import { globalPlayer } from 'python-player';

const PY_CONTENT = `# 欢迎使用 Python IDE
# 这是一个在线Python代码编辑器和执行环境
# 埃拉托斯特尼筛法：寻找 1 ~ N 的所有质数
#
import time

# 获取用户输入，如果输入无效则使用默认值
try:
    user_input = input("请输入要计算质数的范围 N (默认 200000): ")
    if user_input.strip() == "":
        N = 200000
    else:
        N = int(user_input)
        if N <= 0:
            print("输入无效，使用默认值 200000")
            N = 200000
except ValueError:
    print("输入无效，使用默认值 200000")
    N = 200000

print(f"正在计算 1 ~ {N} 的质数...")

start = time.time()

sieve = [True] * (N + 1)
sieve[0] = sieve[1] = False

for i in range(2, int(N**0.5) + 1):
    if sieve[i]:
        for j in range(i * i, N + 1, i):
            sieve[j] = False

primes = [i for i, is_prime in enumerate(sieve) if is_prime]

end = time.time()

print(f"找到 {len(primes)} 个质数，耗时 {end - start:.2f} 秒")
print("前 20 个质数:", primes[:20])
print("最后 20 个质数:", primes[-20:])`;

const createPrimeNumberExample = () => {
    try {
      const file = globalPlayer.fs.createFileObject('prime_numbers.py', {
        parentId: 0,
        mimeType: 'text/x-python',
        opened: false,
        focus: false
      });
  
      // 使用同步方法设置内容
      file.setContentSync(PY_CONTENT);
      // console.log('默认质数计算文件对象创建成功:', file.name, 'ID:', file.id, 'parentId:', file.parentId);
      return file;
    } catch (error) {
      console.error('创建默认质数计算文件对象失败:', error);
      throw error;
    }
  };